package com.chezhujie.www.service;

import com.chezhujie.www.domain.Czjdeliveryadd;
import com.chezhujie.www.persistence.CzjdeliveryaddMapper;
import com.xy.core.exception.ClassCheckException;
import com.xy.core.utils.UUIDUtils;
import com.xy.user.base.service.BaseService;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;


/**
 * 
 * Created by 汤伟杰 on 2017/5/23.
 */
@Service
public class CzjdeliveryaddService extends BaseService<Czjdeliveryadd> {
    @Autowired
    private CzjdeliveryaddMapper czjdeliveryaddMapper;

    @Autowired
    public void setBaseMapper(CzjdeliveryaddMapper czjdeliveryaddMapper) {
        this.baseMapper = czjdeliveryaddMapper;
    }


    public void checkEntity(Czjdeliveryadd czjdeliveryadd) throws ClassCheckException {
        if(czjdeliveryadd.getDeliveryaddId()!=null&&czjdeliveryadd.getDeliveryaddId().length()>255){
            throw new ClassCheckException("不能超过255个字符");
        }
        if(czjdeliveryadd.getName()!=null&&czjdeliveryadd.getName().length()>255){
            throw new ClassCheckException("不能超过255个字符");
        }
        if(czjdeliveryadd.getPhone()!=null&&czjdeliveryadd.getPhone().length()>255){
            throw new ClassCheckException("不能超过255个字符");
        }
        if(czjdeliveryadd.getRegion()!=null&&czjdeliveryadd.getRegion().length()>255){
            throw new ClassCheckException("不能超过255个字符");
        }
        if(czjdeliveryadd.getAddress()!=null&&czjdeliveryadd.getAddress().length()>255){
            throw new ClassCheckException("不能超过255个字符");
        }
        if(czjdeliveryadd.getRemark()!=null&&czjdeliveryadd.getRemark().length()>255){
            throw new ClassCheckException("不能超过255个字符");
        }
    }
    public void checkListEntity(List<Czjdeliveryadd> listCzjdeliveryadd) throws ClassCheckException {

        for (Czjdeliveryadd czjdeliveryadd : listCzjdeliveryadd) {
            checkEntity(czjdeliveryadd);
        }

    }
    /**
     *
     * 方法名：findDeliById 根据用户id查询用户所有收货地址
     * 创建人：RUI
     * 时间：2017年6月1日-上午9:32:44
     * @param map
     * @return List<Czjdeliveryadd>
     * @exception
     * @since  1.0.0
     */
    public List<Czjdeliveryadd> findDeliById(Map<String, Object> map) {
        return czjdeliveryaddMapper.getCzjdeliveryaddList(map);
    }

    /**
     *
     * 方法名：insertDelivery 新增用户收货地址
     * 创建人：RUI
     * 时间：2017年6月1日-上午9:33:16
     * @param czjdeliveryadd void
     * @exception
     * @since  1.0.0
     */
    public void insertDelivery(Czjdeliveryadd czjdeliveryadd) {

        if(StringUtils.isBlank(czjdeliveryadd.getDeliveryaddId())){
            czjdeliveryadd.setDeliveryaddId(UUIDUtils.getUUID());
        }
        czjdeliveryaddMapper.insertCzjdeliveryadd(czjdeliveryadd);

    }

    /**
     * 根据用户id将所有的地址 设置为非收货地址
     * 方法名：updateDeliveryDef
     * 创建人：RUI
     * 时间：2017年6月1日-上午9:33:39
     * @param czjdeliveryadd void
     * @exception
     * @since  1.0.0
     */
    public void updateDeliveryDef(Czjdeliveryadd czjdeliveryadd) {

        czjdeliveryaddMapper.updateDeliveryDef(czjdeliveryadd);
    }

    /**
     * 设置用户的收货地址
     * 方法名：updateDelivery
     * 创建人：RUI
     * 时间：2017年6月1日-上午9:34:22
     * @param czjdeliveryadd void
     * @exception
     * @since  1.0.0
     */
    public void updateDelivery(Czjdeliveryadd czjdeliveryadd) {

        czjdeliveryaddMapper.updateCzjdeliveryadd(czjdeliveryadd);
    }

}
